/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import Entidades.CasilleroEnt;
import Entidades.UsuarioEnt;
import Utilidades.Conexion;
import Utilidades.Constantes;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author sala115
 */
public class CasilleroDAO {

     Conexion con;
        Connection connect;
   
  


    public CasilleroEnt buscarCasillero(CasilleroEnt Casillero) throws SQLException{
    
        con = new Conexion();
        connect = con.getCon();
 
        try {
            PreparedStatement st = connect.prepareStatement(Constantes.CONSULTACasillero);
            
            
            st.setString(1, Casillero.getNumCasillero());
           
            
            ResultSet rs = st.executeQuery();
            
            if(rs != null){
                if (rs.next()) {
                    
                Casillero.setNumCasillero(rs.getString("NumCasillero"));
                Casillero.setResponsableCasillero(rs.getString("ResponsableCasillero"));
                Casillero.setUbicacionCasillero(rs.getString("UbicacionCasillero"));
                Casillero.setEstadoCasillero(rs.getString("EstadoCasillero"));
                  
                }
            }
            connect.close();
            
        } catch (SQLException ex) {
            
            Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
            connect.close();
        }
        
        return Casillero;
    }
    
      public List<CasilleroEnt> busquedaCasillero(CasilleroEnt Casillero) throws SQLException{
    
         List<CasilleroEnt>  lstCasillero = new ArrayList<CasilleroEnt>();
         CasilleroEnt Casi;
        con = new Conexion();
        connect = con.getCon();
 
        try {
            
            PreparedStatement st = connect.prepareStatement(Constantes.CONSULTACasillero);
            
            
            st.setString(1, Casillero.getNumCasillero());
            
            ResultSet rs = st.executeQuery();
            
            if(rs != null){
                while (rs.next()) {
                    
                    Casi = new CasilleroEnt();
                    
                Casi.setNumCasillero(rs.getString("NumCasillero"));
                Casi.setResponsableCasillero(rs.getString("ResponsableCasillero"));
                Casi.setUbicacionCasillero(rs.getString("UbicacionCasillero"));
                Casi.setEstadoCasillero(rs.getString("EstadoCasillero"));
                
                    
                    lstCasillero.add(Casillero);
                }
            }
            connect.close();
            
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
            connect.close();
            
        }
        
        return lstCasillero;
    }
 
    
      public int ingresarCasillero(CasilleroEnt Casillero) throws SQLException{
    
        int ingresar = 0;
        con = new Conexion();
        connect = con.getCon();
 
        try {
            
            PreparedStatement st = connect.prepareStatement(Constantes.INSERT_Casillero);
            
            st.setString(1,Casillero.getNumCasillero());
            st.setString(2, Casillero.getResponsableCasillero());
            st.setString(3, Casillero.getUbicacionCasillero());
            st.setString(4, Casillero.getEstadoCasillero());
            

            st.executeUpdate();
            ingresar = 1;
            connect.close();
            
        } catch (SQLException ex) {
            
            Logger.getLogger(CasilleroDAO.class.getName()).log(Level.SEVERE, null, ex);
            connect.close();
        }
        
        return ingresar;
    }

       public int actualizarCasillero(CasilleroEnt Casillero) throws SQLException{
    
        int ingresar = 0;
        con = new Conexion();
        connect = con.getCon();
 
        try {
            
            PreparedStatement st = connect.prepareStatement(Constantes.ACTUALIZAR_Casillero);
           
            st.setString(1, Casillero.getResponsableCasillero());
            st.setString(2, Casillero.getUbicacionCasillero());
            st.setString(3, Casillero.getEstadoCasillero());
            st.setString(4, Casillero.getNumCasillero());
          
         
            
            st.executeUpdate();
            ingresar = 1;
            connect.commit();
            connect.close();
            
        } catch (SQLException ex) {
            
            Logger.getLogger(CasilleroDAO.class.getName()).log(Level.SEVERE, null, ex);
            connect.close();
            
        }
        
        return ingresar;
    }
    
      public int eliminarCasillero(int Casillero) throws SQLException{
    
        int eliminar = 0;
        con = new Conexion();
        connect = con.getCon();
 
        try {
            
            PreparedStatement st = connect.prepareStatement(Constantes.ELIMINAR_Casillero);
   
            st.setInt(1, Casillero);

            st.executeUpdate();
            eliminar = 1;
            connect.close();
            
        } catch (SQLException ex) {
            
            Logger.getLogger(CasilleroDAO.class.getName()).log(Level.SEVERE, null, ex);
            connect.close();
            
        }
        
        return eliminar;
    }
    
}
